home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Indiana Jones / Indiana Jones.exe / RESOURCE / PREVIEW.GOB / cog_pyr_minecarexit.cog < prev    next >
Text File  |  1999-11-15  |  2KB  |  129 lines

  1. # Jones 3D Cog Script
  2. #
  3. # pyr_minecarexit.cog
  4. #    
  5. # Cutscene as Indy departs level
  6. #
  7. # [RKD]
  8. #
  9. # (C) 1998 LucasArts Entertainment Company LLC. All Rights Reserved
  10. # ========================================================================================
  11.  
  12. symbols
  13. message        startup
  14. message        entered
  15. message        crossed
  16.  
  17. # actors
  18. thing    player        nolink    local
  19.  
  20. # camera things
  21. thing    exitcam        nolink
  22. thing    fadeplate    nolink
  23.  
  24. # camera lookthings
  25. thing    exitcamlook    nolink
  26.  
  27. # surfaces
  28. surface    trigger
  29. surface    levelexit
  30.  
  31. # sounds
  32. sound    exitmus=mus_gen_indy_a_theme1.wav    local
  33.  
  34. # subroutines
  35. flex    startscene=0.0    local
  36. flex    fixcams=0.0        local
  37. end
  38.  
  39.  
  40. code
  41. startup:
  42.     ThingFadeAnim(fadeplate, 1.0, 0.0, 0.01, 0);    
  43.     sleep(.1);
  44.     SetThingFlags(fadeplate, 0x10);
  45.     SetCollideType(fadeplate, 0);
  46.     return;
  47.  
  48. entered:
  49. # ---> trigger surface
  50.  
  51.     if (GetSenderRef() != trigger) return;
  52.     
  53.     # exit if player isn't in mine car
  54.     if (!BitTest(GetPhysicsFlags(GetSourceRef()), 0x01000000)) return;
  55.     
  56.     # get new player thing in minecar
  57.     player = GetLocalPlayerThing();
  58.     
  59.     call startscene;
  60.     
  61.     PlaySoundLocal(exitmus, 1.0, 0.0, 0x0, 0);
  62.  
  63.     SetThingThrust(player, '0.0 .5 0.0');
  64.  
  65.     SetCameraFocus(2, exitcam);
  66.     SetCameraSecondaryFocus(2, exitcamlook);
  67.     SetCurrentCamera(2);
  68.     ResetCameraFOV(0, 0);
  69.  
  70.     sleep(.5);
  71.  
  72.     SetCameraLookInterp(2, 1);
  73.     
  74.     MoveToFrame(exitcam, 1, 2.5);
  75.  
  76.     SetThingThrust(player, '0 1 0');
  77.     
  78.     sleep(2);
  79.     MoveToFrame(exitcamlook, 1, 5);
  80.     SetThingThrust(player, '0 1.5 0');
  81.     
  82.     sleep(1);
  83.     MoveToFrame(exitcam, 2, 3);
  84.     
  85.     sleep(2);
  86.     MoveToFrame(exitcamlook, 2, 5);
  87.     
  88.     WaitForStop(exitcam);
  89.  
  90.     MoveToFrame(exitcam, 3, 3);
  91.     SetCameraFOV(75, 1, 2);
  92.  
  93.     WaitForStop(exitcam);
  94.     sleep(4);
  95.  
  96.     ClearThingFlags(fadeplate, 0x10);
  97.     ThingFadeAnim(fadeplate, 0.0, 1.0, 1.0, 0);
  98.  
  99.     return;
  100.  
  101. crossed:
  102.     # ---> levelexit surface
  103.     if ((GetSenderRef() == levelexit) && (GetSourceRef() == GetLocalPlayerThing()))
  104.     {
  105.         EndCutscene();
  106.         JonesEndLevel();
  107.     }
  108.     return;
  109.  
  110. startscene:
  111.     call fixcams;
  112.  
  113.     StartCutscene(1);
  114.     StopThing(player);
  115.     SetActorFlags(player, 0x200000);
  116.         
  117.     return;
  118.             
  119. fixcams:
  120.     #reset camera settings
  121.     ResetCameraFOV(0, 0);
  122.     SetCameraPosInterp(2, 0);
  123.     SetCameraLookInterp(2, 0);
  124.     RestoreExtCam();
  125.     return;
  126.  
  127. end
  128.  
  129.